home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / gfx / pbm / hpcdtoppm_0_6.lha / hpcdtoppm.0.6 / src / const.c < prev    next >
C/C++ Source or Header  |  1994-10-04  |  14KB  |  252 lines

  1. /* hpcdtoppm (Hadmut's pcdtoppm) v0.6
  2. *  Copyright (c) 1992, 1993, 1994 by Hadmut Danisch (danisch@ira.uka.de).
  3. *  Permission to use and distribute this software and its
  4. *  documentation for noncommercial use and without fee is hereby granted,
  5. *  provided that the above copyright notice appear in all copies and that
  6. *  both that copyright notice and this permission notice appear in
  7. *  supporting documentation. It is not allowed to sell this software in 
  8. *  any way. This software is not public domain.
  9. */
  10.  
  11. #include "hpcdtoppm.h"
  12.  
  13.  
  14. sINT RGB_BitSh1=8;
  15. sINT RGB_Maximum1=1023;
  16.  
  17.  
  18. sINT RGB_F_LL=1391;
  19. sINT RGB_F_C1=2271;
  20. sINT RGB_O_C1=-353784;
  21. sINT RGB_F_C2=1865;
  22. sINT RGB_O_C2=-255023;
  23. sINT RGB_F_G1=-441;
  24. sINT RGB_F_G2=-949;
  25. sINT RGB_O_G =199313;
  26.  
  27.  
  28. uBYTE RGB_corr0[]={
  29.   0,  0,  0,  0,  1,  1,  1,  1,  2,  2,  2,  2,  3,  3,  3,  3,
  30.   4,  4,  4,  4,  5,  5,  5,  5,  6,  6,  6,  6,  7,  7,  7,  7,
  31.   8,  8,  8,  8,  9,  9,  9,  9, 10, 10, 10, 10, 11, 11, 11, 11,
  32.  12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15,
  33.  16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19,
  34.  20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,
  35.  24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27,
  36.  28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31,
  37.  32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35,
  38.  36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39,
  39.  40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43,
  40.  44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47,
  41.  48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51,
  42.  52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,
  43.  56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59,
  44.  60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63,
  45.  64, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67, 67,
  46.  68, 68, 68, 68, 69, 69, 69, 69, 70, 70, 70, 70, 71, 71, 71, 71,
  47.  72, 72, 72, 72, 73, 73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 75,
  48.  76, 76, 76, 76, 77, 77, 77, 77, 78, 78, 78, 78, 79, 79, 79, 79,
  49.  80, 80, 80, 80, 81, 81, 81, 81, 82, 82, 82, 82, 83, 83, 83, 83,
  50.  84, 84, 84, 84, 85, 85, 85, 85, 86, 86, 86, 86, 87, 87, 87, 87,
  51.  88, 88, 88, 88, 89, 89, 89, 89, 90, 90, 90, 90, 91, 91, 91, 91,
  52.  92, 92, 92, 92, 93, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95,
  53.  96, 96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99,
  54. 100,100,100,100,101,101,101,101,102,102,102,102,103,103,103,103,
  55. 104,104,104,104,105,105,105,105,106,106,106,106,107,107,107,107,
  56. 108,108,108,108,109,109,109,109,110,110,110,110,111,111,111,111,
  57. 112,112,112,112,113,113,113,113,114,114,114,114,115,115,115,115,
  58. 116,116,116,116,117,117,117,117,118,118,118,118,119,119,119,119,
  59. 120,120,120,120,121,121,121,121,122,122,122,122,123,123,123,123,
  60. 124,124,124,124,125,125,125,125,126,126,126,126,127,127,127,127,
  61. 128,128,128,128,129,129,129,129,130,130,130,130,131,131,131,131,
  62. 132,132,132,132,133,133,133,133,134,134,134,134,135,135,135,135,
  63. 136,136,136,136,137,137,137,137,138,138,138,138,139,139,139,139,
  64. 140,140,140,140,141,141,141,141,142,142,142,142,143,143,143,143,
  65. 144,144,144,144,145,145,145,145,146,146,146,146,147,147,147,147,
  66. 148,148,148,148,149,149,149,149,150,150,150,150,151,151,151,151,
  67. 152,152,152,152,153,153,153,153,154,154,154,154,155,155,155,155,
  68. 156,156,156,156,157,157,157,157,158,158,158,158,159,159,159,159,
  69. 160,160,160,160,161,161,161,161,162,162,162,162,163,163,163,163,
  70. 164,164,164,164,165,165,165,165,166,166,166,166,167,167,167,167,
  71. 168,168,168,168,169,169,169,169,170,170,170,170,171,171,171,171,
  72. 172,172,172,172,173,173,173,173,174,174,174,174,175,175,175,175,
  73. 176,176,176,176,177,177,177,177,178,178,178,178,179,179,179,179,
  74. 180,180,180,180,181,181,181,181,182,182,182,182,183,183,183,183,
  75. 184,184,184,184,185,185,185,185,186,186,186,186,187,187,187,187,
  76. 188,188,188,188,189,189,189,189,190,190,190,190,191,191,191,191,
  77. 192,192,192,192,193,193,193,193,194,194,194,194,195,195,195,195,
  78. 196,196,196,196,197,197,197,197,198,198,198,198,199,199,199,199,
  79. 200,200,200,200,201,201,201,201,202,202,202,202,203,203,203,203,
  80. 204,204,204,204,205,205,205,205,206,206,206,206,207,207,207,207,
  81. 208,208,208,208,209,209,209,209,210,210,210,210,211,211,211,211,
  82. 212,212,212,212,213,213,213,213,214,214,214,214,215,215,215,215,
  83. 216,216,216,216,217,217,217,217,218,218,218,218,219,219,219,219,
  84. 220,220,220,220,221,221,221,221,222,222,222,222,223,223,223,223,
  85. 224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,
  86. 228,228,228,228,229,229,229,229,230,230,230,230,231,231,231,231,
  87. 232,232,232,232,233,233,233,233,234,234,234,234,235,235,235,235,
  88. 236,236,236,236,237,237,237,237,238,238,238,238,239,239,239,239,
  89. 240,240,240,240,241,241,241,241,242,242,242,242,243,243,243,243,
  90. 244,244,244,244,245,245,245,245,246,246,246,246,247,247,247,247,
  91. 248,248,248,248,249,249,249,249,250,250,250,250,251,251,251,251,
  92. 252,252,252,252,253,253,253,253,254,254,254,254,255,255,255,255
  93. };
  94.  
  95.  
  96. uBYTE RGB_corr1[]={
  97.   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  98.   0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
  99.   1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
  100.   2,  2,  2,  2,  2,  2,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
  101.   3,  3,  3,  3,  3,  3,  3,  3,  4,  4,  4,  4,  4,  4,  4,  4,
  102.   4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,
  103.   5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  6,  6,  6,  6,  6,
  104.   6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  7,  7,  7,  7,  7,  7,
  105.   7,  7,  7,  7,  7,  7,  7,  7,  8,  8,  8,  8,  8,  8,  8,  8,
  106.   8,  8,  8,  8,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
  107.   9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11,
  108.  11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12,
  109.  12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14,
  110.  14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16,
  111.  16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17,
  112.  18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19,
  113.  20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21,
  114.  22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24,
  115.  24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26,
  116.  26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28,
  117.  28, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 31, 31,
  118.  31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33,
  119.  34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36,
  120.  36, 36, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 39, 39, 39,
  121.  39, 39, 39, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 42, 42,
  122.  42, 42, 42, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 45, 45, 45,
  123.  45, 45, 45, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 48, 48, 48,
  124.  48, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51,
  125.  52, 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 54, 55, 55,
  126.  55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 57, 57, 58, 58, 58, 58,
  127.  59, 59, 59, 59, 60, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62,
  128.  62, 63, 63, 63, 63, 63, 64, 64, 64, 64, 65, 65, 65, 65, 66, 66,
  129.  66, 66, 67, 67, 67, 67, 68, 68, 68, 68, 69, 69, 69, 69, 69, 70,
  130.  70, 70, 70, 71, 71, 71, 71, 72, 72, 72, 73, 73, 73, 73, 74, 74,
  131.  74, 74, 75, 75, 75, 75, 76, 76, 76, 76, 77, 77, 77, 77, 78, 78,
  132.  78, 78, 79, 79, 79, 80, 80, 80, 80, 81, 81, 81, 81, 82, 82, 82,
  133.  83, 83, 83, 83, 84, 84, 84, 84, 85, 85, 85, 86, 86, 86, 86, 87,
  134.  87, 87, 87, 88, 88, 88, 89, 89, 89, 89, 90, 90, 90, 91, 91, 91,
  135.  91, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 96, 96,
  136.  96, 96, 97, 97, 97, 98, 98, 98, 99, 99, 99, 99,100,100,100,101,
  137. 101,101,102,102,102,102,103,103,103,104,104,104,105,105,105,106,
  138. 106,106,107,107,107,107,108,108,108,109,109,109,110,110,110,111,
  139. 111,111,112,112,112,113,113,113,114,114,114,114,115,115,115,116,
  140. 116,116,117,117,117,118,118,118,119,119,119,120,120,120,121,121,
  141. 121,122,122,122,123,123,123,124,124,124,125,125,126,126,126,127,
  142. 127,127,128,128,128,129,129,129,130,130,130,131,131,131,132,132,
  143. 132,133,133,134,134,134,135,135,135,136,136,136,137,137,137,138,
  144. 138,139,139,139,140,140,140,141,141,141,142,142,143,143,143,144,
  145. 144,144,145,145,146,146,146,147,147,147,148,148,149,149,149,150,
  146. 150,150,151,151,152,152,152,153,153,153,154,154,155,155,155,156,
  147. 156,157,157,157,158,158,158,159,159,160,160,160,161,161,162,162,
  148. 162,163,163,164,164,164,165,165,166,166,166,167,167,168,168,168,
  149. 169,169,170,170,170,171,171,172,172,172,173,173,174,174,174,175,
  150. 175,176,176,177,177,177,178,178,179,179,179,180,180,181,181,182,
  151. 182,182,183,183,184,184,184,185,185,186,186,187,187,187,188,188,
  152. 189,189,190,190,190,191,191,192,192,193,193,193,194,194,195,195,
  153. 196,196,197,197,197,198,198,199,199,200,200,200,201,201,202,202,
  154. 203,203,204,204,204,205,205,206,206,207,207,208,208,209,209,209,
  155. 210,210,211,211,212,212,213,213,214,214,214,215,215,216,216,217,
  156. 217,218,218,219,219,220,220,220,221,221,222,222,223,223,224,224,
  157. 225,225,226,226,227,227,228,228,228,229,229,230,230,231,231,232,
  158. 232,233,233,234,234,235,235,236,236,237,237,238,238,239,239,240,
  159. 240,241,241,242,242,243,243,244,244,245,245,245,246,246,247,247,
  160. 248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255
  161. };
  162.  
  163.  
  164. uBYTE RGB_corr2[]={
  165.   0,  1,  2,  3,  4,  5,  6,  7,  9, 10, 11, 12, 13, 14, 15, 16,
  166.  18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 32,
  167.  33, 34, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 42, 43, 44, 45,
  168.  45, 46, 46, 47, 48, 48, 49, 50, 50, 51, 51, 52, 53, 53, 54, 54,
  169.  55, 56, 56, 57, 57, 58, 58, 59, 59, 60, 60, 61, 61, 62, 63, 63,
  170.  64, 64, 65, 65, 66, 66, 66, 67, 67, 68, 68, 69, 69, 70, 70, 71,
  171.  71, 72, 72, 73, 73, 73, 74, 74, 75, 75, 76, 76, 76, 77, 77, 78,
  172.  78, 79, 79, 79, 80, 80, 81, 81, 81, 82, 82, 83, 83, 83, 84, 84,
  173.  85, 85, 85, 86, 86, 86, 87, 87, 88, 88, 88, 89, 89, 89, 90, 90,
  174.  91, 91, 91, 92, 92, 92, 93, 93, 93, 94, 94, 95, 95, 95, 96, 96,
  175.  96, 97, 97, 97, 98, 98, 98, 99, 99, 99,100,100,100,101,101,101,
  176. 102,102,102,103,103,103,104,104,104,104,105,105,105,106,106,106,
  177. 107,107,107,108,108,108,109,109,109,109,110,110,110,111,111,111,
  178. 112,112,112,112,113,113,113,114,114,114,114,115,115,115,116,116,
  179. 116,116,117,117,117,118,118,118,118,119,119,119,120,120,120,120,
  180. 121,121,121,121,122,122,122,123,123,123,123,124,124,124,124,125,
  181. 125,125,126,126,126,126,127,127,127,127,128,128,128,128,129,129,
  182. 129,129,130,130,130,130,131,131,131,131,132,132,132,132,133,133,
  183. 133,133,134,134,134,134,135,135,135,135,136,136,136,136,137,137,
  184. 137,137,138,138,138,138,139,139,139,139,140,140,140,140,140,141,
  185. 141,141,141,142,142,142,142,143,143,143,143,143,144,144,144,144,
  186. 145,145,145,145,146,146,146,146,146,147,147,147,147,148,148,148,
  187. 148,148,149,149,149,149,150,150,150,150,150,151,151,151,151,152,
  188. 152,152,152,152,153,153,153,153,153,154,154,154,154,155,155,155,
  189. 155,155,156,156,156,156,156,157,157,157,157,157,158,158,158,158,
  190. 159,159,159,159,159,160,160,160,160,160,161,161,161,161,161,162,
  191. 162,162,162,162,163,163,163,163,163,164,164,164,164,164,165,165,
  192. 165,165,165,166,166,166,166,166,167,167,167,167,167,168,168,168,
  193. 168,168,169,169,169,169,169,170,170,170,170,170,171,171,171,171,
  194. 171,171,172,172,172,172,172,173,173,173,173,173,174,174,174,174,
  195. 174,174,175,175,175,175,175,176,176,176,176,176,177,177,177,177,
  196. 177,177,178,178,178,178,178,179,179,179,179,179,179,180,180,180,
  197. 180,180,181,181,181,181,181,181,182,182,182,182,182,183,183,183,
  198. 183,183,183,184,184,184,184,184,184,185,185,185,185,185,186,186,
  199. 186,186,186,186,187,187,187,187,187,187,188,188,188,188,188,189,
  200. 189,189,189,189,189,190,190,190,190,190,190,191,191,191,191,191,
  201. 191,192,192,192,192,192,192,193,193,193,193,193,193,194,194,194,
  202. 194,194,194,195,195,195,195,195,195,196,196,196,196,196,196,197,
  203. 197,197,197,197,197,198,198,198,198,198,198,199,199,199,199,199,
  204. 199,200,200,200,200,200,200,201,201,201,201,201,201,201,202,202,
  205. 202,202,202,202,203,203,203,203,203,203,204,204,204,204,204,204,
  206. 205,205,205,205,205,205,205,206,206,206,206,206,206,207,207,207,
  207. 207,207,207,207,208,208,208,208,208,208,209,209,209,209,209,209,
  208. 210,210,210,210,210,210,210,211,211,211,211,211,211,211,212,212,
  209. 212,212,212,212,213,213,213,213,213,213,213,214,214,214,214,214,
  210. 214,215,215,215,215,215,215,215,216,216,216,216,216,216,216,217,
  211. 217,217,217,217,217,217,218,218,218,218,218,218,219,219,219,219,
  212. 219,219,219,220,220,220,220,220,220,220,221,221,221,221,221,221,
  213. 221,222,222,222,222,222,222,222,223,223,223,223,223,223,223,224,
  214. 224,224,224,224,224,224,225,225,225,225,225,225,225,226,226,226,
  215. 226,226,226,226,227,227,227,227,227,227,227,228,228,228,228,228,
  216. 228,228,229,229,229,229,229,229,229,230,230,230,230,230,230,230,
  217. 231,231,231,231,231,231,231,231,232,232,232,232,232,232,232,233,
  218. 233,233,233,233,233,233,234,234,234,234,234,234,234,234,235,235,
  219. 235,235,235,235,235,236,236,236,236,236,236,236,237,237,237,237,
  220. 237,237,237,237,238,238,238,238,238,238,238,239,239,239,239,239,
  221. 239,239,239,240,240,240,240,240,240,240,241,241,241,241,241,241,
  222. 241,241,242,242,242,242,242,242,242,243,243,243,243,243,243,243,
  223. 243,244,244,244,244,244,244,244,244,245,245,245,245,245,245,245,
  224. 246,246,246,246,246,246,246,246,247,247,247,247,247,247,247,247,
  225. 248,248,248,248,248,248,248,248,249,249,249,249,249,249,249,249,
  226. 250,250,250,250,250,250,250,250,251,251,251,251,251,251,251,252,
  227. 252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,254,
  228. 254,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255
  229. };
  230.  
  231.  
  232. sINT dithtab[]={
  233.   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  234.   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  235.   0,  0,  1,  2,  2,  3,  3,  4,  5,  5,  6,  7,  8,  8,  9, 10,
  236.  11, 12, 13, 14, 15, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26,
  237.  27, 29, 30, 31, 32, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47,
  238.  49, 50, 51, 53, 54, 56, 57, 59, 60, 62, 64, 65, 67, 68, 70, 71,
  239.  73, 75, 76, 78, 80, 81, 83, 85, 86, 88, 90, 91, 93, 95, 96, 98,
  240. 100,102,103,105,107,109,110,112,114,116,117,119,121,123,124,126,
  241. 128,130,131,133,135,137,138,140,142,144,145,147,149,151,152,154,
  242. 156,157,159,161,163,164,166,168,169,171,173,174,176,178,179,181,
  243. 183,184,186,187,189,190,192,194,195,197,198,200,201,203,204,206,
  244. 207,208,210,211,213,214,215,217,218,219,221,222,223,224,226,227,
  245. 228,229,230,231,233,234,235,236,237,238,239,240,241,242,243,243,
  246. 244,245,246,247,248,248,249,250,250,251,252,252,253,253,254,255,
  247. 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  248. 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
  249. };
  250.  
  251.  
  252.